package com.mt.roll.report.vo;

import com.mt.roll.core.base.BaseVo;
import com.mt.roll.core.validator.groups.UpdateGroup;
import com.mt.roll.core.vo.PageVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * @Author: liguanghao
 * @Date: 2021/3/1 13:45
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
@ApiModel(value = "xx视图对象", description = "用于查询xx信息")
public class ReportSheetVo extends BaseVo implements PageVo.ConvertVo{
    /**
     * 主键，自增
     */
    @ApiModelProperty(value = "主键，更新时需要填写", example = "1")
    @NotNull(message = "xxID不能为空", groups = {UpdateGroup.class})
    private Long id;

    /**
     * 分类
     */
    @ApiModelProperty(value = "分类", example = "1")
    private Long category;

    /**
     * 名称
     */
    @ApiModelProperty(value = "xx名称", example = "xx管理")
    private String name;
    /**
     * 文件名称
     */
    @ApiModelProperty(value = "文件名称", required = true, example = "xx管理")
    @NotBlank(message = "文件名称不能为空")
    private String fileName;
    /**
     * url
     */
    @ApiModelProperty(value = "url", example = "xx")
    private String url;
    /**
     * 编码
     */
    @ApiModelProperty(value = "xx编码", example = "xx管理")
    private String code;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", example = "0")
    private String remark;
    /**
     * 描述
     */
    @ApiModelProperty(value = "描述", example = "0")
    private String description;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", example = "0")
    private LocalDateTime createTime;
}
